The present invention relates to an improved method and apparatus for routing of nets in an integrated circuit and related functions such as determining the available capacity for re-routing of the net.
Circuit designers currently can use a variety of software tools to design electronic circuits that accomplish an intended task. For example, a digital circuit can be designed to accept digital inputs, perform some computation, and produce a digital output. An analog circuit may be designed to accept analog signals, manipulate the analog signals, such as amplifying, filtering, or mixing the signals, and produce an analog or digital output. Generally, any type of circuit can be designed as an integrated circuit (IC). Integrated circuits are electronic circuits formed using silicon as a substrate with added impurities to form solid-state electronic devices, such as transistors, diodes, and resistors. Commonly known as a “chip”, an integrated circuit is generally encased in hard plastic. The components in modern day electronics generally appear to be rectangular black plastic pellets with connector pins protruding from the plastic encasement.
Modern High Performance microprocessors and very large ASIC designs require significant amounts of wiring resources. These resources are made available to design and manufacture a large set of wiring layers that can be as high as nineteen layers. These layers are arranged such that lower level layers are thinner but more abundant, providing more tracks to route signals. As the stack goes up, the layers become thicker and, therefore, less tracks become available for routing. Thinner lower level layers are more resistive and not as suitable for long high performance connections, although they can be suitable for gates connected within short distances. As the layers become thicker, resistance is reduced, rendering the layers, or planes, more attractive for connecting gates at faster speeds.
Furthermore, a multiple layer stack creates a 3D environment wherein signal wires are next to each other and, therefore, subject to potential interference from neighboring wires. This effect is known as signal coupling and can have the adverse effect of increasing delay propagation as well as inducing false signal transitions or glitches on gates.